<?xml version="1.0"?>

<st-source>
<time-stamp>From VisualWorks® NonCommercial, 7.6 of March 3, 2008 on October 18, 2008 at 11:26:22 am</time-stamp>
<!-- Bundle MijnGeldConverter Tests(1.4,rob)= -->


<component-property>
<name>MijnGeldConverter Tests</name> <type>bundle</type>
<property>developmentPrerequisites</property> <value>#(#(#any 'SUnit' ''))</value>
</component-property>

<component-property>
<name>MijnGeldConverter Tests</name> <type>bundle</type>
<property>prerequisiteParcels</property> <value>#(#('SUnit' ''))</value>
</component-property><!-- Package MijnGeldConverter-Parser Tests(1.3,rob)= -->


<name-space>
<name>MijnGeldConverterTests</name>
<environment>Sepher</environment>
<private>true</private>
<imports>
			private Smalltalk.*
			private Sepher.MijnGeldConverter.*
			</imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</name-space>

<class>
<name>RaboCSVParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>testRecord </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>QIFParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars></inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>QIFDutchLocale</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestResource</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>input parser </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>CSVParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>lines </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>MijnPostbankCSV</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestResource</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>input </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>MijnPostbankParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars></inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>GermanSparkasseParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>testRecord </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>SNSCSVParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>testRecord </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>MijnPostbankCSVddmmjjjj</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestResource</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>input parser </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<comment>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankCSVddmmjjjj</class-id>
<body>Resource to contain file strings in the format provided by the financial institution.</body>
</comment>

<class>
<name>ABN_AMROParserTest</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestCase</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>input parser </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>

<class>
<name>SNSCSV</name>
<environment>Sepher.MijnGeldConverterTests</environment>
<super>XProgramming.SUnit.TestResource</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>inputComma inputSemicolon </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>MijnGeldConverter-Parser Tests</category>
<attributes>
<package>MijnGeldConverter-Parser Tests</package>
</attributes>
</class>













<methods>
<class-id>Sepher.MijnGeldConverterTests.SNSCSV</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="inputSemicolon:">inputSemicolon: anObject
	inputSemicolon := anObject</body>

<body package="MijnGeldConverter-Parser Tests" selector="inputComma:">inputComma: anObject
	inputComma := anObject</body>

<body package="MijnGeldConverter-Parser Tests" selector="inputComma">inputComma
	^inputComma</body>

<body package="MijnGeldConverter-Parser Tests" selector="inputSemicolon">inputSemicolon
	^inputSemicolon</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.SNSCSV</class-id> <category>setUp</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	inputComma := '12-08-2005,0954796640,0954798775,hamming p,schoonderbekerweg 20,3794nb,de glind,EUR,75.11,EUR,50.00,12-08-2005,12-08-2005,2724,IOB,2-128610,''tekort'',''tekort''
12-08-2005,0954796640,,,,,,EUR,81.41,EUR,-3.68,12-08-2005,11-08-2005,7810,BEA,2-169945,''0eoucs.842362'',''blokker093 barneve barneveld12.08.2005 12u20 kv005 th5301''
12-08-2005,0954796640,,,,,,EUR,77.73,EUR,-9.12,12-08-2005,11-08-2005,7810,BEA,2-178270,''0eousz.584676'',''026 aldi barneveld12.08.2005 12u34 kv005 1c6501''
19-08-2005,0954796640,0954798775,hamming p,schoonderbekerweg 20,3794nb,de glind,EUR,5.27,EUR,25.20,19-08-2005,19-08-2005,2724,IOB,9-367446,,''bios''
19-08-2005,0954796640,,,,,,EUR,30.47,EUR,-20.00,19-08-2005,18-08-2005,7811,GEA,9-562835,''0eroaz.019420'',''abn amro bank utrecht 3500 gb27719.08.2005 18u44 kv005 s1j222''
22-08-2005,0954796640,,,,,,EUR,16.26,EUR,-13.45,22-08-2005,20-08-2005,7810,BEA,2-442367,''0esmns.223069'',''boekh. gebr. koste barneveld22.08.2005 17u28 kv005 qv6001''
23-08-2005,0954796640,0300527357,simshop.nl,postbus 122,1390ac,abcoude,EUR,32.81,EUR,450.00,23-08-2005,24-08-2005,8801,OVB,3-540296,''vergoeding simsh'',''vergoeding simshop.nl7847''
24-08-2005,0954796640,,,,,,EUR,482.81,EUR,-6.57,24-08-2005,23-08-2005,7810,BEA,4-235667,''0et7bm.520621'',''super de boer 6069 barneveld24.08.2005 12u44 kv005 te7504''
24-08-2005,0954796640,,,,,,EUR,400.28,EUR,-20.00,24-08-2005,23-08-2005,7811,GEA,4-321534,''0etbee.066773'',''abn amro bank amersfoort 3818 le24.08.2005 15u32 kv005 s1p202''' 
				readStream.
	inputSemicolon := '12-8-2005;954796640;954798775;hamming p;schoonderbekerweg 20;3794nb;de glind;EUR;75.11;EUR;50.00;12-8-2005;12-8-2005;2724;IOB;2-128610;tekort;tekort
12-8-2005;954796640;;;;;;EUR;81.41;EUR;-3.68;12-8-2005;11-8-2005;7810;BEA;2-169945;0eoucs.842362;blokker093 barneve barneveld12.08.2005 12u20 kv005 th5301
12-8-2005;954796640;;;;;;EUR;77.73;EUR;-9.12;12-8-2005;11-8-2005;7810;BEA;2-178270;0eousz.584676;026 aldi barneveld12.08.2005 12u34 kv005 1c6501
19-8-2005;954796640;954798775;hamming p;schoonderbekerweg 20;3794nb;de glind;EUR;5.27;EUR;25.20;19-8-2005;19-8-2005;2724;IOB;9-367446;;bios
19-8-2005;954796640;;;;;;EUR;30.47;EUR;-20.00;19-8-2005;18-8-2005;7811;GEA;9-562835;0eroaz.019420;abn amro bank utrecht 3500 gb27719.08.2005 18u44 kv005 s1j222
22-8-2005;954796640;;;;;;EUR;16.26;EUR;-13.45;22-8-2005;20-8-2005;7810;BEA;2-442367;0esmns.223069;boekh. gebr. koste barneveld22.08.2005 17u28 kv005 qv6001
23-8-2005;954796640;300527357;simshop.nl;postbus 122;1390ac;abcoude;EUR;32.81;EUR;450.00;23-8-2005;24-8-2005;8801;OVB;3-540296;vergoeding simsh;vergoeding simshop.nl7847
24-8-2005;954796640;;;;;;EUR;482.81;EUR;-6.57;24-8-2005;23-8-2005;7810;BEA;4-235667;0et7bm.520621;super de boer 6069 barneveld24.08.2005 12u44 kv005 te7504
24-8-2005;954796640;;;;;;EUR;400.28;EUR;-20.00;24-8-2005;23-8-2005;7811;GEA;4-321534;0etbee.066773;abn amro bank amersfoort 3818 le24.08.2005 15u32 kv005 s1p202
' 
				readStream</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.RaboCSVParserTest</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	testRecord := RaboCSVParser 
				on: '"0357241886","EUR",20050122,"D",94.85,"0000000000","ALBERT HEIJN 1069",20050124,"BA","","Pinautomaat 09:13 pasnr. 007","","","","",""' 
						readStream.
	testRecord readRecord</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.RaboCSVParserTest</class-id> <category>testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testCanValidate">testCanValidate
	self should: [testRecord canValidate]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testParseFieldsFrom">testParseFieldsFrom
	self should: [testRecord fields size == 16]</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.GermanSparkasseParserTest class</class-id> <category>instance creation</category>

<body package="MijnGeldConverter-Parser Tests" selector="new">new
	"Answer a newly created and initialized instance."

	^super new initialize</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.GermanSparkasseParserTest</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="initialize">initialize
	"Initialize a newly created instance. This method must answer the receiver."

	" *** Replace this comment with the appropriate initialization code *** "
	^self</body>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	testRecord := GermanSparkasseParser 
				on: '"Auftragskonto";"Buchungstag";"Valutadatum";"Buchungstext";"Verwendungszweck";"Beguenstigter/Zahlungspflichtiger";"Kontonummer";"BLZ";"Betrag";"Waehrung";"Info"
"2611353";"26.08";"26.08.05";"SDIREKT-UEBERWEISUNG";"PRIVATENTNAHME DATUM 26.08.2005, 17.58 UHR 1.TAN: 111111";"KARSTEN VIETH";"2145457";"15471550";"-39,99";"EUR";"Umsatz gebucht"' 
						readStream.
	testRecord readRecord</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.GermanSparkasseParserTest</class-id> <category>testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testParseFieldsFrom">testParseFieldsFrom
	self should: [testRecord fields size == 11]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testCanValidate">testCanValidate
	self should: [testRecord canValidate]</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.SNSCSVParserTest class</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="resources">resources
	^Array with: SNSCSV</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.SNSCSVParserTest</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="resource">resource
	^SNSCSV current</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.SNSCSVParserTest</class-id> <category>testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testCanValidate">testCanValidate
	self should: [(SNS_CSVParser on: self resource inputComma) canValidate].
	self 
		should: [(SNS_CSVParser on: self resource inputSemicolon) canValidate]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testBookingDate">testBookingDate
	| parser |
	parser := SNS_CSVParser on: self resource inputComma.
	self should: 
			[parser readRecord bookingDate = (Date 
						newDay: 12
						monthNumber: 8
						year: 2005)].
	self should: 
			[parser readRecord bookingDate = (Date 
						newDay: 12
						monthNumber: 8
						year: 2005)].
	self should: 
			[parser readRecord bookingDate = (Date 
						newDay: 12
						monthNumber: 8
						year: 2005)].
	self should: 
			[parser readRecord bookingDate = (Date 
						newDay: 19
						monthNumber: 8
						year: 2005)]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testEmptyRelationFields">testEmptyRelationFields
	| parser record |
	parser := SNS_CSVParser 
				on: '12-08-2005,0954796640,,,,,,EUR,77.73,EUR,-9.12,12-08-2005,11-08-2005,7810,BEA,2-178270,''0eousz.584676'',''026 aldi barneveld12.08.2005 12u34 kv005 1c6501''' 
						readStream.
	record := parser readRecord.
	self should: 
			[record bookingDate = (Date 
						newDay: 12
						monthNumber: 8
						year: 2005)].
	self should: [record number = '0954796640']</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.SNSCSVParserTest</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	"For each test we reset the input streams."

	self resource inputComma reset.
	self resource inputSemicolon reset</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankCSV</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="initialize">initialize
	"Initialize a newly created instance. This method must answer the receiver."

	super initialize.
	" *** Replace this comment with the appropriate initialization code *** "
	^self</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankCSV</class-id> <category>setup</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	input := '"Datum","Naam / Omschrijving","Rekening","Tegenrekening","Code","Af Bij","Bedrag (EUR)","MutatieSoort","Mededelingen"
"06-01-2006","KN: 3071108450809206","1661689","9933","IC","Af","5,00","Incasso","KN: 3071108450809206 UW BIJDRAGE VOOR DE NATUUR HARTELIJK DANK VOOR UW STEUN NATUURMONUMENTEN  S GRAVELAND"
"05-01-2006","9966144 LIA S KADOSHOP&gt;USQUERT","1661689","504208969","BA","Af","25,00","Betaalautomaat","9966144 LIA S KADOSHOP&gt;USQUERT PASNR 858X419 04-01-06 11 UUR 46 TRANSACTIENR 6951862"
"04-01-2006","9962424 MEANDER&gt;WINSUM GN","1661689","7822748","BA","Af","37,01","Betaalautomaat","9962424 MEANDER&gt;WINSUM GN PASNR 858X419 03-01-06 16 UUR 34 TRANSACTIENR 5919270"' 
				readStream</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.CSVParserTest class</class-id> <category>instance creation</category>

<body package="MijnGeldConverter-Parser Tests" selector="new">new
	"Answer a newly created and initialized instance."

	^super new initialize</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.CSVParserTest</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	lines := OrderedCollection new.
	lines
		add: '"veld 1 ","veld 2 maar dan met een " er in, en nog een "","veld 3 met een tab	"';
		add: '"veld 1","veld 2 met een embedded ,","veld 3'</body>

<body package="MijnGeldConverter-Parser Tests" selector="initialize">initialize
	"Initialize a newly created instance. This method must answer the receiver."

	" *** Replace this comment with the appropriate initialization code *** "
	^self</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.CSVParserTest</class-id> <category>testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testNextQuotedCSVChunk">testNextQuotedCSVChunk
	| parser stream fields |
	parser := MijnPostbankParser new.
	stream := (lines at: 1) readStream.
	fields := OrderedCollection new.
	1 to: 3 do: [:i | fields add: (parser nextQuotedCSVChunk: stream)].
	self should: [(fields at: 1) = 'veld 1'].
	self 
		should: [(fields at: 2) = 'veld 2 maar dan met een " er in, en nog een "'].
	stream := (lines at: 2) readStream.
	fields := OrderedCollection new.
	1 to: 3 do: [:i | fields add: (parser nextQuotedCSVChunk: stream)].
	self should: [(fields at: 2) = 'veld 2 met een embedded ,']</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.QIFParserTest</class-id> <category>Testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testCanValidate">testCanValidate
	self should: [self resource parser canValidate]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testAllRecords">testAllRecords
	self should: [self resource parser parse records size == 6]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testValidDateRecord1">testValidDateRecord1
	self should: 
			[| rec |
			rec := self resource parser readRecord.
			rec bookingDate = (Date newDay: 16 year: 1998)]</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.QIFParserTest</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="resource">resource
	^QIFDutchLocale current</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.QIFParserTest</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="tearDown">tearDown
	self resource tearDown</body>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	"For each test we reset the input stream."

	self resource input reset</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankCSVddmmjjjj</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="parser:">parser: anObject
	parser := anObject</body>

<body package="MijnGeldConverter-Parser Tests" selector="input">input
	^input</body>

<body package="MijnGeldConverter-Parser Tests" selector="parser">parser
	^parser</body>

<body package="MijnGeldConverter-Parser Tests" selector="input:">input: anObject
	input := anObject</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankCSVddmmjjjj</class-id> <category>setup</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	input := '"Datum","Naam / Omschrijving","Rekening","Tegenrekening","Code","Af Bij","Bedrag (EUR)","MutatieSoort","Mededelingen"
"06-01-2006","KN: 3071108450809206","1661689","9933","IC","Af","5,00","Incasso","KN: 3071108450809206 UW BIJDRAGE VOOR DE NATUUR HARTELIJK DANK VOOR UW STEUN NATUURMONUMENTEN  S GRAVELAND"
"05-01-2006","9966144 LIA S KADOSHOP&gt;USQUERT","1661689","504208969","BA","Af","25,00","Betaalautomaat","9966144 LIA S KADOSHOP&gt;USQUERT PASNR 858X419 04-01-06 11 UUR 46 TRANSACTIENR 6951862"
"04-01-2006","9962424 MEANDER&gt;WINSUM GN","1661689","7822748","BA","Af","37,01","Betaalautomaat","9962424 MEANDER&gt;WINSUM GN PASNR 858X419 03-01-06 16 UUR 34 TRANSACTIENR 5919270"' 
				readStream.
	parser := MijnPostbankParser on: input</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.QIFDutchLocale</class-id> <category>setup</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	
	self class reset.
	input := '!Type:Cash
D16-1-1998
T2,00
CX
POpening Balance
L[Kas Rob]
^
D16-1-1998
CX
T300,00
L[Postbank Betaal Gez]
^
D28-5-1998
CX
T-300,00
PAlgemeen
LVoeding:Levensmiddelen
^
D20-6-1998
CX
T-300,00
PAlgemeen
LVoeding:Levensmiddelen
^
D24-4-1998
CX
T-300,00
PAlgemeen
LVoeding:Levensmiddelen
^
D24-2''2000
CX
T250,00
P002 pas
L[Rabo Betaal Gez]
^
' readStream.
	parser := QIFParser on: input.
	parser localeForReading: (Locale named: #'nl_D.UTF-8').
	parser account: (Sepher.MijnGeld.CashAccount new name: 'Kas Rob')</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.QIFDutchLocale</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="input:">input: anObject
	input := anObject</body>

<body package="MijnGeldConverter-Parser Tests" selector="parser:">parser: anObject
	parser := anObject</body>

<body package="MijnGeldConverter-Parser Tests" selector="input">input
	^input</body>

<body package="MijnGeldConverter-Parser Tests" selector="parser">parser
	^parser</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.QIFDutchLocale</class-id> <category>Running</category>

<body package="MijnGeldConverter-Parser Tests" selector="tearDown">tearDown
	
	input reset.
	parser reset</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.ABN_AMROParserTest</class-id> <category>setup</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	"self betaalrekening."
	self spaarrekening</body>

<body package="MijnGeldConverter-Parser Tests" selector="spaarrekening">spaarrekening
	
	self
		input:
			'543391930	EUR	20070202	1528,35	4580,67	null	0,00	OVERZICHT 2006 T.B.V. AANGI...'
				readStream</body>

<body package="MijnGeldConverter-Parser Tests" selector="betaalrekening">betaalrekening
	
	self
		input:
			'123456789	EUR	20060228	2013,34	2289,37	20060301	68,8	GIRO   966349 ACHMEA FBTO BETALINGSKENM.  0086522700095056 RELNR* 865227 UITKERING KORTING RVP WWW.FBTO.NL/MIJNFBTO'
				readStream</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.ABN_AMROParserTest</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="parser:">parser: anObject
	parser := anObject</body>

<body package="MijnGeldConverter-Parser Tests" selector="input">input
	^input</body>

<body package="MijnGeldConverter-Parser Tests" selector="parser">parser
	^parser</body>

<body package="MijnGeldConverter-Parser Tests" selector="input:">input: aReadStream
	
	input := aReadStream.
	parser := ABNAMROTabParser on: input</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.ABN_AMROParserTest</class-id> <category>testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testBetaalrekening">testBetaalrekening
	
	| rec |
	self betaalrekening.
	rec := parser readRecord.
	self should: [self parser canValidate].
	self should: [parser fields size == 8].
	self should: [rec number = '123456789'].
	self should: [rec amount = 68.8].
	self
		should:
			[rec memo =
					'GIRO   966349 ACHMEA FBTO BETALINGSKENM.  0086522700095056 RELNR* 865227 UITKERING KORTING RVP WWW.FBTO.NL/MIJNFBTO'].
	self should: [rec counterAccountNumber = '0'].
	self
		should: [rec bookingDate = (Date newDay: 28 monthNumber: 2 year: 2006)]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testSpaarrekening">testSpaarrekening
	
	| rec |
	self spaarrekening.
	rec := parser readRecord.
	self should: [self parser canValidate].
	self should: [parser fields size == 8].
	self should: [rec number = '543391930'].
	self should: [rec amount = 0].
	self should: [rec memo = 'OVERZICHT 2006 T.B.V. AANGI...'].
	self should: [rec counterAccountNumber = '0'].
	self
		should: [rec bookingDate = (Date newDay: 2 monthNumber: 2 year: 2007)]</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankParserTest class</class-id> <category>Accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="resources">resources
	^Array with: MijnPostbankCSVddmmjjjj</body>
</methods>


<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankParserTest</class-id> <category>Testing</category>

<body package="MijnGeldConverter-Parser Tests" selector="testCanValidateInvalid">testCanValidateInvalid
	self shouldnt: [false]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testNumberOfFields">testNumberOfFields
	self should: 
			[self resource parser readRecord.
			self resource parser fields size == 9]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testValidDateRecord1">testValidDateRecord1
	self should: 
			[self resource parser readRecord bookingDate = (Date newDay: 6 year: 2006)]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testValidDateRecord2">testValidDateRecord2
	self should: 
			[self resource parser readRecord.
			self resource parser readRecord bookingDate = (Date newDay: 5 year: 2006)]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testParseFieldsFrom">testParseFieldsFrom
	self should: 
			[self resource parser readRecord.
			self resource parser fields size == 9]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testValidDateRecord3">testValidDateRecord3
	self should: 
			[self resource parser readRecord.
			self resource parser readRecord.
			self resource parser readRecord bookingDate = (Date newDay: 4 year: 2006)]</body>

<body package="MijnGeldConverter-Parser Tests" selector="testCanValidate">testCanValidate
	self should: [self resource parser canValidate]</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankParserTest</class-id> <category>accessing</category>

<body package="MijnGeldConverter-Parser Tests" selector="resource">resource
	^MijnPostbankCSVddmmjjjj current</body>
</methods>

<methods>
<class-id>Sepher.MijnGeldConverterTests.MijnPostbankParserTest</class-id> <category>initialize-release</category>

<body package="MijnGeldConverter-Parser Tests" selector="setUp">setUp
	"For each test we reset the input stream."

	self resource input reset</body>
</methods>

<!-- Package MijnGeldConverter-Writer Tests(1.0,rob)= -->



<bundle-structure>
<name>MijnGeldConverter Tests</name> <structure>#(#(#package 'MijnGeldConverter-Parser Tests') #(#package 'MijnGeldConverter-Writer Tests'))</structure>
</bundle-structure>

</st-source>
